﻿#region Using Directives

using System;
using System.Web;
using System.Web.UI.WebControls;
using System.Collections.Generic;

using QuickDev.Common.Audit;

using QuickDev.Localization;

using QuickDev.Web.UI;

using QuickDev.Model;
using QuickDev.BLL;
using QuickDev.Caching;

#endregion

namespace QuickDev.Web.App.Administration.Controls.SiteSettingConfiguration
{
    public partial class broadcast : SiteSettingsControl
    {
        #region Member Variables

        #endregion

        #region Page Events

        /// <summary>
        /// Handles the Load event of the Page control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        protected override void Page_Load( object sender, EventArgs e )
        {
            try
            {
                base.Page_Load( sender, e );
                if ( view.Equals( "bc" ) )
                {
                    SetBroadcastProperties();
                    if ( !Page.IsPostBack )
                    {
                        this.txtBroadcast.Value = SiteSettings.Broadcast;
                    }
                }
            }
            catch ( Exception ex )
            {
                Logger.Error( typeof( broadcast ).Name + ".Page_Load", ex );
                base.MasterPage.MessageCenter.DisplayCriticalMessage( ex.Message );
            }
        }

        /// <summary>
        /// Handles the Click event of the btnSave control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        protected void btnSave_Click( object sender, EventArgs e )
        {
            try
            {
                SiteSettings.Broadcast = txtBroadcast.Value;
                ServiceConfiguration model = base.SaveConfiguration( SiteSettings );
                if ( model.ConfigurationId > 0 )
                {
                    MasterPage.MessageCenter.DisplaySuccessMessage( LocalizationUtility.GetText( "lblSiteSettingsSaved" ) );
                }
                else
                {
                    MasterPage.MessageCenter.DisplayFailureMessage( LocalizationUtility.GetText( "lblSiteSettingsNotSaved" ) );
                }
            }
            catch ( Exception ex )
            {
                Logger.Error( typeof( broadcast ).Name + ".btnSave_Click", ex );
                base.MasterPage.MessageCenter.DisplayCriticalMessage( ex.Message );
            }
        }

        #endregion

        #region Methods

        #region Private

        /// <summary>
        /// Sets the globalization settings properties.
        /// </summary>
        private void SetBroadcastProperties()
        {
            this.Page.Title = string.Format( WebUtility.MainTitleTemplate, base.MasterPage.SiteSettings.SiteName, LocalizationUtility.GetText( "titleSiteSettingsBroadcast" ) );
        }

        #endregion

        #endregion

    }
}